package com.yonyou.cyxdms.basedata.service.constant;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class CommonConstant {

    //是
    public static final Integer YES= 10041001;

    //否
    public static final Integer NO= 10041002;

    //返利类型
    public static final Integer REBATE_TYPE= 63;

    //折扣类型
    public static final Integer DISCOUNT_TYPE= 64;

    //单车返利类型
    public static final Integer SINGLE_REBATE_TYPE = 60361001;

    //建店返利类型
    public static final Integer BULID_REBATE_TYPE = 60361002;

    //返利规则计算方式金额
    public static final Integer REBATE_CALCULATION_FIXED = 60371001;

    //返利规则计算方式百分比
    public static final Integer REBATE_CALCULATION_PERCENTAGE = 60371002;

    //折扣规则计算方式金额
    public static final Integer DISCOUNT_CALCULATION_FIXED = 60331001;

    //折扣规则计算方式百分比
    public static final Integer DISCOUNT_CALCULATION_PERCENTAGE = 60331002;

    //订货单提报状态待提交
    public static final Integer ORDER_GOODS_TYPE_TOSUBMIT = 60431001;

    //订货单提报状态审核驳回
    public static final Integer ORDER_GOODS_TYPE_AUDIT_REJECTED = 60431002;

    //订货单提报状态待审核
    public static final Integer ORDER_GOODS_TYPE_TO_AUDIT = 60431003;

    //订货单提报状态部分审核
    public static final Integer ORDER_GOODS_TYPE_PART_OF_AUDIT = 60431004;

    //订货单提报状态审核通过
    public static final Integer ORDER_GOODS_TYPE_AUDIT_PASS = 60431005;

    //主店地址
    public static final Integer ADDRESS_PROPERTY = 60351001;

    //启用
    public static final Integer STATUS_YES = 10031001;

    //动力形式燃油车
    public static final Integer POWER_TYPE_FUEL = 60081001;

    //动力形式新能源
    public static final Integer POWER_TYPE_ENERGY = 60081002;

    //返利上账单车返利主项目号
    public static final String REBATE_MAINPROJECTS_SINGLE = "DC00";

    //返利上账建店返利主项目号
    public static final String REBATE_MAINPROJECTS_BUILD = "JD00";

    //返利入账
    public static final Integer IN_AMOUNT = 60451001;

    //返利出账
    public static final Integer OUT_AMOUNT = 60451002;

    //返利上账返利主项目号map
    public static final Map<String,Integer> REBATE_MAINPROJECTS_MAP = new HashMap<String,Integer>(){
        {
            put("DC00",60361001);
            put("JD00",60361002);
        }
    };

    public static final Map<Integer,String> POWER_TYPE_MAP = new HashMap<Integer,String>(){
        {
            put(60081001,"燃油车");
            put(60081002,"新能源");
        }
    };

    public static final Map<Integer,String> OPERATION_TYPE_MAP = new HashMap<Integer,String>(){
        {
            put(60431001,"订单保存");
            put(60431002,"订单驳回");
            put(60431003,"订单提交");
            put(60431004,"订单审核");
            put(60431005,"订单审核");
        }
    };

    //appId
    public static final String APP_ID_BEIJING = "beijing";
    public static final String APP_ID_ARCFOX = "arcfox";
    public static final String APP_ID_RL = "RL";

    //orderType,订单类型
    public static List<Integer> orderType =  new ArrayList<Integer>(){
        {
            this.add(60061001);
            this.add(60061005);
        }
    };
    //是否
    public static Map<String,Integer> yesOrNoMap = new  HashMap<String,Integer>(){
        {
            put("是",10041001);
            put("否",10041002);
        }
    };

    //运输方式
    public static Map<String,Integer> transportTypeMap = new HashMap<String,Integer>(){
        {
            put("发运",60041001);
            put("自提",60041002);
        }
    };


    public static enum auditType{
        /** 驳回 **/
        rejected,
        /** 通过 **/
        pass,
        /** 取消 **/
        cancel
    }

    public static enum rebateTypeEnum{
        /** 单车 **/
        single,
        /** 建店 **/
        build

    }

    public static enum orderTypeEnum{
        /** 常规订单 **/
        CONVENTIONAL(60061001),
        /** 直销大客户订单 **/
        SELLING(60061002),
        /** 区域大客户订单 **/
        AREA(60061003),
        /** 代交车大客户订单 **/
        GIVECAR(60061004),
        /** 特殊订单 **/
        SPECIAL(60061005),
        /** 北汽新能源订单 */
        NEW(60061006),
        ;
        private Integer code;

        orderTypeEnum(Integer code) {
            this.code = code;
        }

        public Integer getCode() {
            return code;
        }

        public void setCode(Integer code) {
            this.code = code;
        }

    }

    public static enum auditTypeEnum{
        /** 待审核 **/
        toBeAudit(12611001),
        /** 通过 **/
        pass(12611002),
        /** 驳回 **/
        rejected(12611003)
        ;
        private Integer code;

        auditTypeEnum(Integer code) {
            this.code = code;
        }

        public Integer getCode() {
            return code;
        }

        public void setCode(Integer code) {
            this.code = code;
        }

    }

    public static enum clientTypeEnum{
        /** DLR **/
        DLR("DLR"),
        /** OEM **/
        OEM("OEM"),
        ;
        private String code;

        clientTypeEnum(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

    }

    public static enum rebateInItemRemarkEnum{
        /** DLR **/
        cx("sap接口返利红票冲销"),
        /** OEM **/
        rz("返利入账"),
        sxdq("失效到期"),
        sxyq("失效延期"),
        ;
        private String code;

        rebateInItemRemarkEnum(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

    }

    //已移库
    public static final Integer MOVED_DATABASE = 60391001;


}
